package com.victualler.core.config.permission.service;

import com.victualler.core.base.service.BaseService;
import com.victualler.core.config.permission.dto.RoleGroupDto;
import com.victualler.core.config.permission.entity.RoleInfoDao;
import com.victualler.core.config.permission.repository.RoleInfoQueryRepository;
import com.victualler.core.config.permission.repository.RoleInfoRepository;

import java.util.List;


/**
 * @author: Guoshichang
 * @discription:
 */
public interface RoleInfoService extends BaseService<RoleInfoDao, RoleInfoRepository,RoleInfoQueryRepository>{

    /**
     * @author Guoshichang
     * @since 20:17 on 2018/7/5.
     * @param userId 用户id
     * @Function  获取用户id对应的角色列表
     */
    public List<RoleInfoDao> getRoleInfoByUserId(Long userId);

    /**
     * @author Guoshichang
     * @since 23:06 on 2018/9/18.
     * @param userId 用户id
     * @return RoleGroupDto
     * @Function  获取用户对应的 角色列表和未在列的角色列表
     */
    public RoleGroupDto getByUserId(Long userId);

    /**
     * @author Guoshichang
     * @since 21:12 on 2018/9/9.
     * @param userId 双
     * @return List
     * @Function
     */
    public List<RoleInfoDao> notInByUserId(Long userId) ;

}
